#ifndef SOUND
#define SOUND

//#include "thread.h"
#include <SDL/SDL_audio.h>

namespace sleek
{
    namespace sound
    {
        enum e_sound_type { est_null, est_load, est_stream, est_count };
        enum e_sound_state { ess_null, ess_play, ess_pause, ess_stop, ess_count };
        class sound
        {
            public:
                sound(const char*, e_sound_type t = est_stream, e_sound_state s = ess_play);
                virtual ~sound();

                void load(const char*);
                void stream(const char*);
                void free();

                void play();
                void pause();
                void restart();
                void stop();

                e_sound_state getState();
                e_sound_type getType();

                void render();
            protected:
                sound();
                e_sound_state state;
                e_sound_type type;
            private:
        };
    }
}

#endif // NODE

